Multilayers of polyelectrolytes and/or nanoparticles can be easily assembled on a variety of surfaces. Selection of the materials, assembly conditions, and post-processing conditions can be used to control the chemical, structural and optical properties of the final product.